package com.czy;

import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.JMSException;
import javax.jms.MessageProducer;
import javax.jms.Queue;
import javax.jms.Session;
import javax.jms.TextMessage;

import org.apache.activemq.ActiveMQConnectionFactory;

/**
 * 队列的生产者
 * 
 *
 */
public class JmsQueueProducer {

	private static String brokerURL="tcp://127.0.0.1:61616";//在activemq/conf/activemq.xml里面找
	private static String queueName="queue-hello";

	public static void main(String[] args) throws JMSException {
		// 第一步：创建ConnectionFactory对象，需要指定服务端ip及端口号。
		ConnectionFactory factory=new ActiveMQConnectionFactory(brokerURL);
		// 第二步：使用ConnectionFactory对象创建一个Connection对象。
		Connection connection = factory.createConnection();
		// 第三步：开启连接，调用Connection对象的start方法。
		connection.start();
		// 第四步：使用Connection对象创建一个Session对象。  第一个参数是是否开启事务   第二参数是接收者的签收状态
		Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);

		// 第五步：使用Session对象创建一个Destination对象（topic、queue），此处创建一个Queue对象。
		Queue queue=session.createQueue(queueName);

		// 第六步：使用Session对象创建一个Producer对象。
		MessageProducer messageProducer = session.createProducer(queue);

		// 第七步：创建一个Message对象，创建一个TextMessage对象。
		TextMessage message = session.createTextMessage();
		message.setText("hello-mq");
//		TextMessage textMessage=new ActiveMQTextMessage();
		// 第八步：使用Producer对象发送消息。
		messageProducer.send(message);

		// 第九步：关闭资源。
		messageProducer.close();
		session.close();
		connection.close();
		System.out.println("消息发送成功.....");
	}

}
